package leetcode;

import java.util.Scanner;

//完全二叉树的权值
public class complete_binary_tree {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);


        int n=sc.nextInt();
        int[]arr=new int[n+1];
        for (int i = 0; i < n; i++) {
            arr[i]=sc.nextInt();
        }
        long sum=arr[0];

        int num=0,x=0;
        sum=0;long max=arr[0],l=1;
        for (int i = 1; i < arr.length; i++) {
            sum=sum+arr[i];
            num=num+1;

            if(num%(2<<x)==0){
                if(max<sum){
                    max=sum;
                    l=x+2;
                }


                x++;
                sum=0;
                num=0;
            }
            if(i==arr.length-1){
                if(max<sum){
                    max=sum;
                    l=x+2;
                }
            }
        }


        System.out.println(l);

    }

}
//package likoTI;
//
//        import java.io.BufferedReader;
//        import java.io.IOException;
//        import java.io.InputStreamReader;
//
//public class Main {
//    static int N = 100010;
//    static int n;
//    static int[] a = new int[N];
//
//    public static void main(String[] args) throws IOException {
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        n = Integer.parseInt(br.readLine());
//        String[] s = br.readLine().split(" ");
//        for(int i = 1;i <= n;i++) a[i] = Integer.parseInt(s[i - 1]);
//        long max = Integer.MIN_VALUE;
//        int depth = 0;
//        for(int d = 1, i = 1;i <= n;d++, i *= 2) {
//            long sum = 0;//当前层的权值和
//            for(int j = i;j < i + (1 << d - 1) && j <= n;j++) {//遍历该层
//                sum += a[j];
//            }
//            if(sum > max) {
//                max = sum;
//                depth = d;
//            }
//        }
//        System.out.println(depth);
//    }
//}
